-----------------------------------
--
-- Zone: The_Shrine_of_RuAvitau (178)
--
-----------------------------------

package.loaded["scripts/zones/The_Shrine_of_RuAvitau/TextIDs"] = nil;
require("scripts/globals/settings");
require("scripts/globals/missions");
require("scripts/globals/keyitems");
require("scripts/zones/The_Shrine_of_RuAvitau/TextIDs");

-----------------------------------
-- onInitialize
-----------------------------------

function onInitialize(zone)
	
	-- MAP 1 ------------------------
	zone:registerRegion(1, -21, 29, -61, -16, 31, -57); 	--> F (H-10)
	zone:registerRegion(2, 16, 29, 57, 21, 31, 61); 		--> E (H-7)
	-- MAP 3 ------------------------
	zone:registerRegion(3, -89, -19, 83, -83, -15, 89); 	--> L (F-5)
	zone:registerRegion(3, -143, -19, -22, -137, -15, -16); --> L (D-8)
	zone:registerRegion(4, -143, -19, 55, -137, -15, 62); 	--> G (D-6)
	zone:registerRegion(4, 83, -19, -89, 89, -15, -83); 	--> G (J-10)
	zone:registerRegion(5, -89, -19, -89, -83, -15, -83); 	--> J (F-10)
	zone:registerRegion(6, 137, -19, -22, 143, -15, -16); 	--> H (L-8)
	zone:registerRegion(7, 136, -19, 56, 142, -15, 62); 	--> I (L-6)
	zone:registerRegion(8, 83, -19, 83, 89, -15, 89); 		--> K (J-5)
	-- MAP 4 ------------------------
	zone:registerRegion(9, 723, 96, 723, 729, 100, 729);	--> L'(F-5)
	zone:registerRegion(10, 870, 96, 723, 876, 100, 729); 	--> O (J-5)
	zone:registerRegion(6, 870, 96, 470, 876, 100, 476); 	--> H (J-11)
	zone:registerRegion(11, 723, 96, 470, 729, 100, 476); 	--> N (F-11)
	-- MAP 5 ------------------------
	zone:registerRegion(12, 817, -3, 57, 823, 1, 63);		--> D (I-7)
	zone:registerRegion(13, 736, -3, 16, 742, 1, 22); 		--> P (F-8)
	zone:registerRegion(14, 857, -3, -23, 863, 1, -17); 	--> M (J-9)
	zone:registerRegion(15, 776, -3, -63, 782, 1, -57); 	--> C (G-10)
	-- MAP 6 ------------------------
	zone:registerRegion(2, 777, -103, -503, 783, -99, -497); --> E (G-6)
	zone:registerRegion(1, 816, -103, -503, 822, -99, -497); --> F (I-6)

end;

-----------------------------------		
-- onZoneIn		
-----------------------------------		

function onZoneIn(player,prevZone)
   cs = -1;
   local xPos = player:getXPos();
   local yPos = player:getYPos();
   local zPos = player:getZPos();
   local ZilartMission = player:getCurrentMission(ZILART);

   -- Checked here to be fair to new players
   local DMEarrings = 0;
   for i=14739, 14743 do
      if (player:hasItem(i)) then
         DMEarrings = DMEarrings + 1;
      end
   end

   -- ZM 15 -> ZM 16
   if (ZilartMission == THE_SEALED_SHRINE and player:getVar("ZilartStatus") == 1 and
      xPos >= -45 and yPos >= -4 and zPos >= -240 and
      xPos <= -33 and yPos <= -2 and zPos <= -226 and DMEarrings <= NUMBER_OF_DM_EARRINGS) then -- Entered through main gate
         cs = 51;
   end

   if ((xPos == 0) and (yPos == 0) and (zPos == 0)) then
      player:setPos(-3.38,46.326,60,122);
   end

   return cs;
end;

-----------------------------------		
-- onRegionEnter		
-----------------------------------		

function onRegionEnter(player,region)	
	
	switch (region:GetRegionID()): caseof
	{
		[1] = function (x)
			player:startEvent(17); --> F
		end,
		[2] = function (x)
			player:startEvent(16); --> E
		end,
		[3] = function (x)
			player:startEvent(5); --> L --> Kirin !
		end,
		[4] = function (x)
			player:startEvent(4); --> G
		end,
		[5] = function (x)
			player:startEvent(1); --> J
		end,
		[6] = function (x)
			player:startEvent(3); --> H
		end,
		[7] = function (x)
			player:startEvent(7); --> I
		end,
		[8] = function (x)
			player:startEvent(6); --> K
		end,
		[9] = function (x)
			player:startEvent(10); --> L'
		end,
		[10] = function (x)
--			player:startEvent(0); --> O --> CS NOT FOUND
			player:setPos(744,0,-113,183);
		end,
		[11] = function (x)
--			player:startEvent(0); --> N --> CS NOT FOUND
			player:setPos(740,0,115,69);
		end,
		[12] = function (x)
			player:startEvent(15); --> D
		end,
		[13] = function (x)
			player:startEvent(14); --> P
		end,
		[14] = function (x)
			player:startEvent(13); --> M
		end,
		[15] = function (x)
			player:startEvent(12); --> C
		end,
		
		default = function (x)
		end,
	}
	
end;

-----------------------------------	
-- onRegionLeave	
-----------------------------------	

function onRegionLeave(player,region)	
end;

-----------------------------------	
-- onEventUpdate	
-----------------------------------	

function onEventUpdate(player,csid,option)	
	--printf("CSID: %u",csid);
	--printf("RESULT: %u",option);
end;	

-----------------------------------	
-- onEventFinish	
-----------------------------------	

function onEventFinish(player,csid,option)	
	--printf("CSID: %u",csid);
	--printf("RESULT: %u",option);

   if (csid == 51) then
      player:completeMission(ZILART,THE_SEALED_SHRINE);
      player:addMission(ZILART,THE_CELESTIAL_NEXUS);
      player:setVar("ZilartStatus",0);
   end
end;
